import time

from pom.Admin.RightManagePage import RigthManagePage
import common.config_log
from pom.base import BaseDriver


class RightManage(BaseDriver):
    def __init__(self, driver):
        super(RightManage, self).__init__(driver)
        self.rm = RigthManagePage(driver)

    # 输入搜索内容，点击搜索按钮
    def search_by_name(self, text):
        self.rm.Sendkeys(self.rm.search_box, text)
        self.rm.Click(self.rm.search_button)

    # 查看搜索结果
    def check_person_list(self, line, col):
        return self.rm.person_list(line, col)

    # 返回列表的大小,以便可以检查每条数据是否都符合筛选条件
    def list_num(self):
        num = len(self.rm.list_num())
        return num

    # 遍历筛选出的结果
    def check_search_result(self, col, text):
        num = self.list_num()
        for i in range(1,int(num)+1):
            if text in self.check_person_list(i, col):
                self.logger.info("与筛选条件相符，值为{}".format(self.check_person_list(i, col)))
            else:
                self.logger.error("不符合筛选条件")
                raise Exception

    # 编辑用户信息
    def edit_user_info(self, username=None, new_passwd=None, confirm_passwd=None, department=None, action=1):
        """
        :param username: 用户名（必填）
        :param new_passwd: 新密码（必填）
        :param confirm_passwd: 确认新密码
        :param department: 部门
        :param action: 操作（1：确定  2：取消  3:删除）
        :return:
        """
        self.rm.Click(self.rm.edit)
        time.sleep(1)
        if username != None:
            self.rm.Clearandsend(self.rm.edit_username, username)

        if new_passwd != None:
            self.rm.Clearandsend(self.rm.new_passwd, new_passwd)

        if confirm_passwd != None:
            self.rm.Clearandsend(self.rm.confirm_passwd, confirm_passwd)

        if department != None:
            self.rm.Clearandsend(self.rm.department, department)

        if action == 1:
            self.rm.Click(self.rm.comit_btn)
        elif action == 2:
            self.rm.Click(self.rm.cancel_btn)
        elif action == 3:
            self.rm.Click(self.rm.delete_btn)
        else:
            self.rm.logger.error("权限管理-用户编辑 失败")
            raise Exception




